Open-source software
Free software, as defined by the Free Software Foundation, is software which can be used, copied, studied, modified and redistributed without restriction. Freedom from such restrictions is central to the concept, with the opposite of free software being proprietary software (a distinction unrelated to whether a fee is charged). The usual way for software to be distributed as free software is for the software to be licensed to the recipient with a free software license (or be in the public domain), and the source code of the software to be made available (for a compiled language). Usage To help distinguish libre (freedom) software from gratis (zero price) software, Richard Stallman, founder of the free software movement, developed the following explanation: "Free software is a matter of liberty, not price. To understand the concept, you should think of 'free' as in 'free speech', not as in 'free beer'". More specifically, free software means that computer users have the freedom to cooperate with whom they choose, and to control the software they use. The GNU Manifesto contains language that gives evidence of Stallman's initial confusion with the usage. Most free software is distributed online without charge, or off-line at the marginal cost of distribution, but this is not required, and people may sell copies for any price. Thus, free software is entirely compatible with commercial software: a prohibition on selling the software would be a restriction failing the free software definition. The capitalized term "Open source" is attached to a definition originally created in 1998 from Debian's free software guidelines. While most open source software is also free software and vice-versa, this is not always the case. The free BSD-based operating systems, such as FreeBSD, OpenBSD, and NetBSD, use a similar definition of free software, but they differ in interpretation about copyleft. Users of these systems often see copyleft as being over-restrictive to the point of being an encroachment on their freedom. "Freeware" is software made available free of charge, but is generally proprietary, as users do not necessarily have the freedom to use, copy, study, modify or redistribute it. Source code for freeware may or may not be published, and permission to distribute modified versions may or may not be granted, so freeware is gratis, and not libre software. FSF's official definition for free software was first published in January 1989. http://www.gnu.org/bulletins/bull6.html This was later reworded by Bruce Perens to make the Debian Free Software Guidelines (DFSG). When Open Source Initiative was founded, its board used the DFSG but with the words "free software" replaced with "open-source software". These three definitions (from FSF, Debian, and OSI) are the only generally accepted definitions associated with free software (by whichever name one calls it). History A brief history of free software: ; 1950s, 1960s and 1970s : Software was seen as an add-on supplied by mainframe vendors to make computers useful. Thus, programmers and developers frequently shared their software freely. This was especially common in large users groups, such as SHARE and DECUS. DECUS was the Digital Equipment Corporation (DEC) Users Group and SHARE was a user group for the IBM 701. ; Late 1970s and early 1980s : Companies began routinely imposing restrictions on programmers with software license agreements. Sometimes this was because companies were now making money from proprietary software or they were trying to keep hardware characteristics secret by hiding the source code. Other times it was because of the increasingly corporatised attitude in the growing and previously eclectic industry saw protecting source code and trade secrets as a norm even if it didn't provide any benefit to business. Bill Gates signalled the change of the times when he wrote an open letter urging hackers to stop stealing by making unauthorized copies of software. ; 1983 : Richard Stallman launched the GNU project after becoming frustrated with the effects of the change in culture of the computer industry and users. One incident was when a printer wouldn't work but he couldn't hack the source code to fix the problem because it was withheld. Software development for the GNU operating system began in January 1984, and Free Software Foundation (FSF) was founded in October 1985. He introduced a free software definition and "copyleft", designed to ensure software freedom for all. http://cisn.metu.edu.tr/2002-6/free.php Some reacted strongly against Stallman's position as idealistic nonsense and he was strongly mocked and criticised. ; Present day : Free software is a huge international effort, producing software used by individuals, large organisations, and even political administrations. Free software's current strength is in system software and basic user applications where there is little competitive choice in the market (such OS software, Internet browsing, and office productivity software). It is important to note, however, that the user base among individuals using prominent free software (such as the GNU/Linux operating system) is often only a fraction of the size of their proprietary competitors. The economic advantages of the free software model are beginning to be recognised, even by some media sources . Also, some other industries — that is, non-software industries — are beginning to recognise the value of free software's message too: scientists, for example, are looking towards more open development processes, and hardware such as microchips are beginning to be developed under Copyleft licenses (see the OpenCores project, for instance). The Creative Commons and Open Content movements have also been largely influenced by free software. Free software licenses According to Stallman and the FSF, software licenses must have the following four freedoms to qualify as being "Free": * Freedom 0: The freedom to run the program for any purpose. * Freedom 1: The freedom to study and modify the program. * Freedom 2: The freedom to copy the program so you can help your neighbor. * Freedom 3: The freedom to improve the program, and release your improvements to the public, so that the whole community benefits. Freedoms 1 and 3 require source code access, because studying and modifying software without its source code is extremely difficult, highly inefficient, and sometimes impossible in practice. Access to annotated source code relieves these problems. Free Software Foundation and Open Source Initiative both publish lists of licenses that they find to comply with their definition of free software and open-source software respectively.http://www.gnu.org/licenses/license-list.html The lists are necessarily incomplete, because a license need not be known by either organisation in order to provide these freedoms. Apart from these two organisations, the Debian project is seen by some to provide useful advice on whether particular licenses comply with their Debian Free Software Guidelines. Debian doesn't publish a list of approved licenses, so its judgements have to be tracked by checking what software they have allowed into their archives. However, it is rare that a license is announced as being in-compliance by FSF or OSI and not the other (the Netscape Public License used for early versions of Mozilla being an exception), so exact definitions of the terms have not become hot issues. The terms Libre software, FLOSS, FOSS, and OSS/FS do not have formal meanings or defacto arbitrators. Most free software uses a small set of licenses. The most popular of these are the GNU General Public License, the GNU Lesser General Public License, the BSD License, the Mozilla Public License, the MIT License, and the Apache License. Software that is not free software is known as proprietary software. It may come with some or none of the above freedoms, and almost always comes with an EULA which purports to use contract law to restrict users' ability to run the software in certain ways. The FSF and OSI definitions both disregard price. CDs containing free software such as GNU/Linux distributions are commonly for sale. If the CD buyer retains the free software freedoms the purchased software is still free software. Freeware includes restrictions that conflict with the free software definition are considered proprietary, since source code may be unavailable, or redistributors may be prohibited charging fees. Some people use "libre" to avoid the ambiguity of the word "free". However, these terms are mostly used within the free software movement. Variations on free software as defined by the FSF: * Copyleft licenses, the GNU General Public License being the most prominent. The author retains copyright and permits redistribution and modification under terms to ensure that all modified versions remain free. * Public domain software - the author has abandoned the copyright. Since public-domain software lacks copyright protection, it may be freely incorporated into any work, whether proprietary or free. * BSD-style licenses, so called because they are applied to much of the software distributed with the BSD operating systems. The author retains copyright protection solely to disclaim warranty and require proper attribution of modified works, but permits redistribution and modification in any work, even proprietary ones. A copyright owner of copyleft-licensed software can produce and sell a version under any license, in addition to distributing the original version as free software. Many free software companies do this; this does not restrict any rights granted to the users of the copyleft version. All free software licenses must grant people all the freedoms discussed above. However, unless the applications' licenses are compatible, combining programs by mixing source code or directly linking binaries is problematic, because of license technicalities. Programs indirectly connected together may avoid this problem. Examples of free software Notable free software: * Operating systems: GNU/Linux, BSD, Darwin, and the Windows clone ReactOS. * GCC compilers, GDB debugger and C libraries. * Servers: BIND name server, Sendmail mail transport, Apache web server, and Samba file server. * Relational database systems: MySQL and PostgreSQL. * Programming languages: Perl, PHP, Python, Ruby and Tcl. * GUI related: X Window System, GNOME, KDE, and Xfce desktop environments. * OpenOffice.org office suite, Mozilla and Firefox web browsers and the GIMP graphics editor. * Typesetting and document preparation systems TeX and LaTeX. The Free Software Directory is a free software project that maintains a large database of free software packages. The most accessible and comprehensive collections of free software are currently distributed as LiveDistros, entire operating systems stored and made ready to boot on CDs, USB sticks, DVDs, and other bootable media. By inserting a LiveDistro into a CD drive and booting the computer arrives to a desktop with hundreds of free software packages ready to run and use. Some free software like OpenOffice.org works on the non-free Microsoft Windows and non-free Unix platforms. Non-free software can work on free platforms, although purists prefer using platforms composed entirely of free software such as GNU/Linux. Consequences Free software is generally available at little to no cost and can result in permanently lower costs compared to proprietary software, evidence by free software becoming popular in third world countries. With free software, businesses have the freedom to fit the software to their specific needs by changing the software themselves or by hiring programmers to modify it for them. Under the free software business model, free software vendors may charge a fee for distrubtion and offer pay support and software customization services. Proprietary software uses a different business model, where a customer of the proprietary software pays a fee for a license to use the softare. This license may grant the customer the ability to configure some or no parts of the software themselves. Often some level of support is included in the purchase of proprietary software, but additional support services (espically for enterprise applications) are usually available for an additional fee. Some proprietary software vendors will also customize software for a fee. Free software gives users the ability to cooperate with each other in enhancing and refining the programs they use. Free software is a pure public good rather than a private good. Companies that contribute to free software can increase commercial innovation amidst the void of patent cross licensing lawsuits. (See mpeg2 patent holders) Free software played a part in the development of the Internet, the World Wide Web and the infrastructure of dot-com companies. There is debate over the security of free software in comparison to proprietary software, with a major issue being security through obscurity. A popular quantitative test in computer security is using relative counting of known unpatched security flaws. Generally, users of this method advise avoiding products which lack fixes for known security flaws, at least until a fix is available. Some claim that method counts more vulnerabilities for the free software, since their source code is accessible and their community is more forthcoming about what problems existhttp://it.slashdot.org/article.pl?sid=06/03/12/0351248. The ability to view and modify the software provides a practical defence against Spyware.http://www.fsf.org/licensing/essays/hessla.html There are also questions of responsibility. Free software often has no warranty, and more importantly, generally does not assign legal liability to anyone. This can limit the use of the free software model for some applications, as no person or group is accountable for their work. Individual motivations It is often wondered why individuals would make the effort to participate and contribute to free software, as such contributions can be very costly in terms of effort or time. One of the reasons is that individuals can earn a living doing so. The Free Software Foundation maintains a service directory of people offering their free software services for hire. It shows free software developers offer their services ranging from $35/hour to $250/hour and some companies rates for support for standard products start at $12,500. Some individuals perceive that they can start their own business at a fraction of the cost of proprietary software if they have the skills and knowledge required, for example many web hosting companies exclusively use free software. However, direct economic benefit is hardly the main reason for the willingness of a wide community of individuals to contribute to Free Software. The main reason is simple: the contributor actually gets back much more than she gives away. Contributor A may be proficient in producing program A, and contributor B in producing program B. Conversely, contributor C may have experience in testing and debugging programs, but not in programming them from scratch. If they share their efforts freely, C might debug programs A and B, and thus the three contributors could have high quality programs A and B, whereas in a non-free scenario A and B would have a single buggy program each, and C would have nothing at all. A and B could try to sell their programs to each other, or to C. They could hire C to debug them. C could use his salary as debugger to buy programs A and/or B... However, although a non-free scenario could benefit highly A or B (whoever has the most direly needed program), the most positive outcome for the three of them at the same time would be without doubt obtained in the free scenario. Individuals within a team typically have a wide variety of motivations. Often, there are stances on the relationship between free software and the existing business models that allow vendor lock in. They may also believe in inter-market competition, and that free software is a form of competition within capitalism. They may also perceive that copyright systems and other intellectual property regimes government-enforced monopolies - market restrictions. Other motivations may consist of gift economics, where status depends effectively on "gifts" from the contributor. Or more prosaically, a contributor may just want to altruistically do what he perceives as a good deed, in the spirit of volunteerism. Also, many companies use free software to their own advantage. Some companies contribute to the community substantially, while some of these companies use free software to cut costs, while only contributing when the expected cost/benefit of developing software under proprietary means would cost more than by doing it via a free software method. Many companies also use free software to cut costs of developing proprietary software that generates a profit for the company. Free software controversies Larry McVoy invited high-profile free software projects to use BitKeeper to attract paying users. In 2002 a controversial decision was made to use BitKeeper, a proprietary software product, to develop the Linux kernel, a free software project. The following excerpt from a Newsforge article illustrates why this proved to be a major source of controversy. :"McVoy made the program available gratis to free software developers. This did not mean it was free software for them: they were privileged not to part with their money, but they still had to part with their freedom. They gave up the fundamental freedoms that define free software: freedom to run the program as you wish for any purpose, freedom to study and change the source code as you wish, freedom to make and redistribute copies, and freedom to publish modified versions. :The free software movement has said "Think of free speech, not free beer" for 15 years. McVoy said the opposite; he invited developers to focus on the lack of monetary price, instead of on freedom. A free software activist would dismiss this suggestion, but those in our community who value technical advantage above freedom and community were susceptible to it. ... :A free kernel, even a whole free operating system, is not sufficient to use your computer in freedom; we need free software for everything else, too. Free applications, free drivers, free BIOS: some of those projects face large obstacles -- the need to reverse engineer formats or protocols or pressure companies to document them, or to work around or face down patent threats, or to compete with a network effect. Success will require firmness and determination. A better kernel is desirable, to be sure, but not at the expense of weakening the impetus to liberate the rest of the software world." http://software.newsforge.com/article.pl?sid=05/04/25/130207 McVoy withdrew permission for gratis use by free software projects. Many in the free software movement see the whole affair as a vindication of Richard Stallman's principled position over the allegedly more utilitarian approach of Linus Torvalds. See also * FOSS Wikibook collection * Free software community * Free software magazine * Free audio software * Free file format * Free/Libre/Open-Source Software * FLOSS Concept Booklet on Wikibooks * Free Software Foundation * Free software licenses * GNU General Public License * GNU Project * List of free software packages * List of liberated software * Open source * Open standard * Open format * Software Freedom Day * Collaborative software development model External links * The Free Software Definition - published by FSF * Foundation for a Free Information Infrastructure (FFII). * Free Software and Open Source software (Where to find) - from Wikisolutions * FSF's list of free software licenses, including clarifications on often confused non-free licenses * FSF/UNESCO directory of free software packages * The GNU philosophy pages * FSF's comparison of "Open Source" and "Free Software" * Why Open Source Software / Free Software (OSS/FS)? Look at the Numbers! — David Wheeler's analysis of the advantages of OSS/FS. * Free software transcripts by Ciaran O'Riordan * UNDP-APDIP Iternational Open Source Network - FOSS A General Introduction Primer by Kenneth Wong and Phet Sayo - Available as a Wikibook